
package com.weplay.gameplane;

import android.content.Context;
import android.util.Log;

import com.bytedance.sdk.openadsdk.LocationProvider;
import com.bytedance.sdk.openadsdk.TTAdConfig;
import com.bytedance.sdk.openadsdk.TTAdConstant;
import com.bytedance.sdk.openadsdk.TTAdSdk;
import com.bytedance.sdk.openadsdk.TTCustomController;


public class BaseApplication extends android.app.Application {

    private static Context appContext;

    @Override
    public void onCreate() {
        super.onCreate();
        appContext = this;
        init();
    }


    public static Context getAppContext() {
        return appContext;
    }

    private void init() {
        //强烈建议在应用对应的Application#onCreate()方法中调用，避免出现content为null的异常
        TTAdSdk.init(appContext,
                new TTAdConfig.Builder()
                        .appId("5393240")//xxxxxxx为穿山甲媒体平台注册的应用ID
                        .useTextureView(true) //默认使用SurfaceView播放视频广告,当有SurfaceView冲突的场景，可以使用TextureView
                        .appName("第一反恐")
                        .titleBarTheme(TTAdConstant.TITLE_BAR_THEME_DARK)//落地页主题
                        .allowShowNotify(true) //是否允许sdk展示通知栏提示,若设置为false则会导致通知栏不显示下载进度
                        .debug(true) //测试阶段打开，可以通过日志排查问题，上线时去除该调用
                        .directDownloadNetworkType(TTAdConstant.NETWORK_STATE_WIFI) //允许直接下载的网络状态集合,没有设置的网络下点击下载apk会有二次确认弹窗，弹窗中会披露应用信息
                        .supportMultiProcess(false) //是否支持多进程，true支持
                        .asyncInit(true) //是否异步初始化sdk,设置为true可以减少SDK初始化耗时。3450版本开始废弃~~
                        .customController(new TTCustomController() {
                            @Override
                            public boolean isCanUseLocation() {
                                return super.isCanUseLocation();
                            }

                            @Override
                            public LocationProvider getTTLocation() {
                                return super.getTTLocation();
                            }

                            @Override
                            public boolean alist() {
                                return super.alist();
                            }

                            @Override
                            public boolean isCanUsePhoneState() {
                                return super.isCanUsePhoneState();
                            }

                            @Override
                            public String getDevImei() {
                                return super.getDevImei();
                            }

                            @Override
                            public boolean isCanUseWifiState() {
                                return super.isCanUseWifiState();
                            }

                            @Override
                            public String getMacAddress() {
                                return super.getMacAddress();
                            }

                            @Override
                            public boolean isCanUseWriteExternal() {
                                return super.isCanUseWriteExternal();
                            }

                            @Override
                            public String getDevOaid() {
                                return super.getDevOaid();
                            }

                            @Override
                            public boolean isCanUseAndroidId() {
                                return super.isCanUseAndroidId();
                            }

                            @Override
                            public String getAndroidId() {
                                return super.getAndroidId();
                            }

                            @Override
                            public boolean isCanUsePermissionRecordAudio() {
                                return super.isCanUsePermissionRecordAudio();
                            }
                        })
                        //.httpStack(new MyOkStack3())//自定义网络库，demo中给出了okhttp3版本的样例，其余请自行开发或者咨询工作人员。
                        .build(), new TTAdSdk.InitCallback() {
                    @Override
                    public void success() {
                        Log.d("MA", "init success");

                    }

                    @Override
                    public void fail(int i, String s) {
                        Log.d("MA", "init fail");
                    }
                }
        );
    }

}
